<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    <style type="text/css">
      body, html,#allmap {
        width: 100%;
        height: 100%;
        overflow: hidden;
        margin:0;
        font-family:"微软雅黑";
      }
    </style>
    <script
      type="text/javascript"
      src="https://api.map.baidu.com/api?type=webgl&v=1.0&ak=oyva8hEbGyySeHenlvpaPYgbblTWU2mA"
    ></script>
    <title>地图展示</title>
  </head>
  <body>
    <div id="allmap"></div>
  </body>
</html>
<script type="text/javascript">
  // 创建地图实例
  var map = new BMapGL.Map("allmap");
  // 创建坐标对象
  var point = new BMapGL.Point(116.404, 39.915);
  // 指定中心点和展示级别
  map.centerAndZoom(point, 15);
  // 开启鼠标滚轮缩放
  map.enableScrollWheelZoom(true);

  /* 浏览器定位 */
  // 创建一个定位对象
  var geolocation = new BMapGL.Geolocation();
  //创建地址解析器实例
  var myGeo = new BMapGL.Geocoder();

  // 获取当前位置
  geolocation.getCurrentPosition(function(r){
      // 如果定位成功了
      if(this.getStatus() == BMAP_STATUS_SUCCESS){
          // 得到当前位置的位置对象
          const point = r.point
          // 提示经纬度
          alert('您的位置：' + point.lng + ',' + point.lat);
          // 创建当前位置的标识对象(红色水滴形状)
          var mk = new BMapGL.Marker(point);
          // 添加一个当前位置的阀盖物
          map.addOverlay(mk);
          // 中心点移动到当前位置
          map.panTo(point);

          // 根据坐标得到地址  
          myGeo.getLocation(point, function(result){      
              if (result){   
                console.log(result)   
                alert(result.address);    
              }      
          });
      } else {
          // 提示定位失败
          alert('failed' + this.getStatus());
      }
  });
</script>
